package com.doitedu.day01

import scala.collection.mutable.ArrayBuffer

/**
 * @Date 22.6.19
 * @Created by HANGGE
 * @Description
 * 1  守卫模式
 * 2  推导式
 */
object _03For_推导式 {
  def main(args: Array[String]): Unit = {
    // 不可变数组  数据一旦定义  数组的个数不能变换
  val arr: Array[Int] = Array(1,2,3,4,5,6,7)
   //  推导式 收集循环后的结果数据
   val res: Array[Int] =  for (elem <- arr if elem %2==1) yield  elem
    println(res.toList)

    // 收集集合中的偶数   每偶数*10 再收集

    val res2 = for (e <- arr if e % 2 == 0) yield  e * 10
    println(res2.toList)

    val msg = "hello"
    val res3 = for (e <- arr if e % 2 == 0) yield  msg+"---"+e
    println(res3.toList)


    val res4 = for (e <- arr if e % 2 == 0) yield  {
      val e1 = e*10
      val e2 = e1+"hello"
      e2.toUpperCase
    }

    println(res4.toList)



    /*  // 可变数组  添加元素 减少元素
       val arrayBuffer = ArrayBuffer[Int]()
       //收集奇数
       // 创建集合 收集到集合中
      for (elem <- arr if elem%2==1) {
        // 将数据收集到可变的数组中
        arrayBuffer.append(elem)
       }
       // 利用List集合的toString  查看元素
       val list = arrayBuffer.toList
       println(list)*/


  }
}
